4D Analytics

Standard Data Collectors

A number of standard data collectors have been written to facilitate importing data that has been collected in common formats into Amulet.

Currently there are four data collectors to import data in .csv format.

The first pair of data collectors are intended to quickly get data into an Amulet database that has had the minimum of preparation. The points in the .csv file need not exist in the Amulet database before import as they will be created if missing.

The second pair of data collectors need the Amulet points that are to be imported from the .csv file, to already exist and be configured in the Amulet database.

GenericCSVFileImporter_1

Note: The points extend across the page, as many as are required for each time stamp.

The column headers must all be unique, and each row must have the same number of columns.

The column headers will be used as point names in Amulet unless specified differently by user setting CSV_POINTNAME_AMULETNAME_TRIPLETS.

The column ContainerPropertyValue, and the setting CONTAINER_PROPERTYVALUE_COLUMN are optional - they are only required if the data is destined for points in more than one container. If there is no value for setting CONTAINER_PROPERTYVALUE_COLUMN it is assumed that all points are destined to be put into the container with a property of the value in CONTAINER_PROPERTY_NAME.

Example of a .csv file:

ContainerPropertyValue,TimeStamp, A,B,C
M22222222201,01/12/2014 00:15,1.23, 2.45, YES
M22222222201,01/12/2014 00:30,2.23, 3.45, YES
M22222222201,01/12/2014 00:45,3.23, 4.45, YES
M22222222201,01/12/2014 01:00,4.23, 5.45, OFF
M22222222201,01/12/2014 01:15,5.23, 6.45, ON
M33301,01/12/2014 10:48,9.23, 4.45, YES
M33301,01/12/2014 21:00,8.23, 5.45, YES
M33301,01/12/2014 11:15,7.23, 6.45, YES

To import the data above into two containers, Amulet should have:

  • one container with property = METER_SERIAL, value = M22222222201
  • one container with property = METER_SERIAL, value = M33301

and these bare minimum importer Settings:

DATECOLUMN                                                         TimeStamp
DATEFORMAT                                                          dd/MM/yyyy HH:mm
CONTAINER_PROPERTY_NAME                            METER_SERIAL
CONTAINER_PROPERTYVALUE_COLUMN            ContainerPropertyValue    
CSV_STRVALUE_AMULETVALUE_PAIRS              YES,1, OFF, 2,  ON, 3  
Additional optional settings
IGNORE_CSV_POINTNAMES                                   If there are columns in the .csv file to ignore                                                                              eg     C
TIMEOFFSET_SECS                                                 to add or subtract seconds from readings before storage                                                            eg    -1
CSV_POINTNAME_AMULET_NAME_TRIPLETS      to store column names in the .csv file to points with a different name and units in Amulet        eg    A,PointA, Miles, B, PointB, Km
CSV_POINTNAME_MULTIPLICATION_FACTOR_PAIRS   to multiply a value for a point in the .csv file before storage to Amulet                             eg    A, 0.001, B, 1000
DEFAULTUNITS                                                         The units assigned to a point, if a point is created by the import.                                                 eg    Km
DELETE_POINTS                                                       If true, will delete all points/data that has been created by a file import 

GenericCSVFileImporter_2

Note: The point names extend down the page, as many as are required, with one value per point per line.

The point names in the .CSV file will be used as Amulet point names unless specified differently by user setting CSV_POINTNAME_AMULET_NAME_TRIPLETS.

There must be user settings for FORMAT2_POINTNAME_COLUMN, FORMAT2_POINTVALUE_COLUMN, DATECOLUMN, DATEFORMAT. The rest are optional.

The column ContainerPropertyValue, and the setting CONTAINER_PROPERTYVALUE_COLUMN are optional - they are only required if the data is destined for points in more than one container.

If there is no value for setting CONTAINER_PROPERTYVALUE_COLUMN it is assumed that all points are destined to be put into the container with a property of the value in CONTAINER_PROPERTY_NAME.

Example of a .csv file"

ContainerPropertyValue, Point, TimeStamp, Value
M22222222201,Fred, 01/12/2014 00:15,4
M22222222201,Fred, 01/12/2014 00:16,5
M22222222201,Fred, 01/12/2014 00:17,7
M22222222201,Freddy, 01/12/2014 00:18,6
M33301,Freddy2, 01/12/2014 00:17,YES
M33301,George, 01/12/2014 00:17,YES

To import the data above, Amulet should have

  • one container with property = METER_SERIAL, value = M22222222201
  • one container with property = METER_SERIAL, value = M33301

and these importer Settings:

FORMAT2_POINTNAME_COLUMN                                        Point
FORMAT2_POINTVALUE_COLUMN                                      Value
DATECOLUMN                                                                       TimeStamp
DATEFORMAT                                                                       dd/MM/yyyy HH:mm
CSV_STRVALUE_AMULETVALUE_PAIRS                           YES,1, NO, 0
CONTAINER_PROPERTY_NAME                                         METER_SERIAL
CONTAINER_PROPERTYVALUE_COLUMN                         ContainerPropertyValue
Additional optional settings ... see description for GenerivCSVFileImporter_1
CSV_POINTNAME_AMULET_NAME_TRIPLETS 
CSV_POINTNAME_MULTIPLICATION_FACTOR_PAIRS
DEFAULTUNITS
TIMEOFFSET_SECS 
IGNORE_CSV_POINTNAMES
DELETE_POINTS

GenericCSVFileImporter_3

Note: The point names across the page, as many as are required, for each time stamp.

There must be user settings for DATECOLUMN, DATEFORMAT, POINT_PROPERTY_NAME. The rest are optional.

Example of a .csv file:

TimeStamp, A,B, C
01/12/2014 00:15,1.23, 2.45, YES
01/12/2014 00:30,2.23, 3.45, YES
01/12/2014 00:45,3.23, 4.45, YES
01/12/2014 01:00,4.23, 5.45, OFF
01/12/2014 01:15,5.23, 6.45, ON
01/12/2014 10:48,9.23, 4.45, YES
01/12/2014 21:00,8.23, 5.45, YES
01/12/2014 11:15,7.23, 6.45, YES

To import the data above, Amulet should have

  • one point with property = METER_SERIAL, value = A
  • one point with property = METER_SERIAL, value = B
  • one point with property = METER_SERIAL, value = C

and these importer Settings:

DATECOLUMN                                                  TimeStamp
DATEFORMAT                                                  dd/MM/yyyy HH:mm
POINT_PROPERTY_NAME                              METER_SERIAL
CSV_STRVALUE_AMULETVALUE_PAIRS     YES,1, NO, 0
Additional optional settings ... see description for GenericCSVFileImporter_1
IGNORE_CSV_POINTNAMES
TIMEOFFSET_SECS 
CSV_POINTNAME_MULTIPLICATION_FACTOR_PAIRS

GenericCSVFileImporter_4

Note: The point names down the page, as many as are required, one value per line per point.

There must be user settings for FORMAT4_POINTNAME_COLUMN, FORMAT4_POINTVALUE_COLUMN, DATECOLUMN, DATEFORMAT, POINT_PROPERTY_NAME. The rest are optional.

Example of a .csv file:

Point, TimeStamp, Value
Fred, 01/12/2014 00:15,4
Fred, 01/12/2014 00:16,5
Fred, 01/12/2014 00:12,7
Freddy, 01/12/2014 00:18,6
Freddy2, 01/12/2014 00:17,YES
George, 01/12/2014 00:17,YES

To import the data above, Amulet should have

  • one point with property = METER_SERIAL, value = Fred
  • one point with property = METER_SERIAL, value = Freddy
  • one point with property = METER_SERIAL, value = Freddy2
  • one point with property = METER_SERIAL, value = George

and these importer Settings:

FORMAT4_POINTNAME_COLUMN                          Point
FORMAT4_POINTVALUE_COLUMN                         Value
DATECOLUMN                                                           TimeStamp
DATEFORMAT                                                           dd/MM/yyyy HH:mm
POINT_PROPERTY_NAME                                      METER_SERIAL
CSV_STRVALUE_AMULETVALUE_PAIRS              YES,1, NO, 0
Additional optional settings... see description for GenericCSVFileImporter_1
CSV_POINTNAME_MULTIPLICATION_FACTOR_PAIRS
TIMEOFFSET_SECS 
IGNORE_CSV_POINTNAMES

Report e-mailer

Report e-mailer

This collector is responsible for checking and sending email reports.

Specific DC Settings:

  • Website URL Base – This is the website URL this is to execute against (The website the collector is on)
  • Website Source Parameter – This is the source (repository) to execute the website under (defines the database to connect to)
  • PDF Generator Location – The location on disk of the pdf generator.
  • Temp Directory – The location on disk (server) to hold generated pdf’s
  • Temp Directory Age (Hours) – How often the temp directory will be cleaned of old files
  • File Name Base – When sending emails, the pdf attachment of the email will be named as a random long string. If client wishes a more relevant name for attachment then use this field and the name of the pdf attachment will be this [file name base]_name_of_saved_report_[date timestamp of generation].pdf

Example of settings:

In this example the report emailer will execute reports on website http://localhost:8084/ against its repository (database) “default” and use the pdf generator at D:/abcPDF/OADashboardToPdf.exe to create pdf of reports/dashboards to store in D:/pdfs/ before attaching to the email it will send to report recipients. It will remove pdf files from this temporary area that are older than 48 hours.

Definitions of reports and configuration of schedule and mail recipients are defined in the “Reports” section of the help files.